Enviado por: phpmysql
Fecha: 2004-04-05 10:57:36
Actualizado: 2006-01-29 00:30:29
¿Usa base de datos?: 0
Visitas: 5682
Votos: 6
Descargado: 1646 veces
Valoración: 3.00
» Valora este script «
ZipDescargar

Esto intentado hacer el registro de usuarios de electros para que funcione sin las bases de datos mysql, por el momento en este script tengo los archivos del registro de usuarios 1 2 3 4, y me falta el foro solo pero hay esta echo el resto.. si alguien se anima a colaborar que participe dejando su codigo en el foro http://electros.iefactory.com/foro.php?foroid=5&temaid=2218 o aki mismo asimismo su opinion para mejorar el el script. index.php [codigo] <? include ("menu.php"); ?> [/codigo] menu.php [codigo] <? if($_COOKIE["ucnnick"]) { // Incluimos la informacion sobre el usuario if(file_exists("usuarios/$_COOKIE[ucnnick].php")) { require ("usuarios/$_COOKIE[ucnnick].php"); } else { echo "<script>location='salir.php'</script>" ; } ?> Bienvenido <b><? echo $_COOKIE["ucnnick"] ?></b><br> <b> </b><br> <a href="perfil.php">Perfil</a><br> <a href="usuarios.php">Usuarios</a><br> <a href="pagina3.php">Enlace 1</a><br> <br> <a href="salir.php">Salir</a><br> <? } else { ?> <form method="post" action="entrar.php"> Nick:<br> <input type="text" name="cnnick"><br> Contrase�a:<br> <input type="password" name="cnpass"><br><br> <input type="submit" name="entrar" value="Entrar"> </form> <? } ?> [/codigo] entrar.php [codigo] <? if($entrar) { function quitar($texto) { $texto = trim($texto) ; $texto = htmlspecialchars($texto) ; return $texto ; } $cnnick = quitar($cnnick) ; $cnpass = quitar($cnpass) ; if(file_exists("usuarios/$cnnick.php")) { require ("usuarios/$cnnick.php"); if($contrasena == md5($cnpass)) { setcookie("ucnnick",$cnnick,time()+7776000) ; setcookie("ucnpass",$cnpass,time()+7776000) ; header("location: index.php") ; } else { echo "La contrase�a es incorrecta. Haz click <a href=javascript:history.back()>aqu�</a> para regresar." ; } } else { echo "Este usuario no existe en la base de datos." ; } } else { echo " <form method=post action=entrar.php> <b>Nick:</b><br> <input type=text name=cnnick maxlength=20><br> <b>Contrase�a:</b><br> <input type=cnpassword name=cnpass maxlength=20><br><br> <input type=submit name=entrar value=Entrar> </form> " ; } ?> [/codigo] login.php [codigo] <? if(file_exists("usuarios/$_COOKIE[ucnnick].php")) { require ("usuarios/$_COOKIE[ucnnick].php"); } if($contrasena == $_COOKIE[ucnpass]) { setcookie("ucnnick") ; setcookie("ucnpass") ; echo "<script>location='index.php'</script>" ; } ?> [/codigo] registrar.php [codigo] <? if($registrar) { function quitar($texto) { $texto = trim($texto) ; $texto = htmlspecialchars($texto) ; return $texto ; } $cnnick = quitar($cnnick) ; $cnemail= quitar($cnemail) ; // Comprobar que el usuario existe en la base de datos if(!file_exists("usuarios/")) { $dircrea = fopen("usuarios/","w"); fwrite($dircrea, ""); fclose($dircrea); } if(file_exists("usuarios/$cnnick.php")) { echo "Ya existe un usuario con ese nick o email en la base de datos. Haz click <a href=javascript:history.back()>aqu�</a> para regresar." ; } else { $cnfecha = time() ; $cncontrasena = md5($cncontrasena) ; $cnip = $REMOTE_ADDR ; $nuevo .= "<"."?n"; $nuevo .="$nick = "$cnnick";n"; $nuevo .="$contrasena = "$cncontrasena";n"; $nuevo .="$email = "$cnemail";n"; $nuevo .="$fecha = "$cnfecha";n"; $nuevo .="$ip = "$cnip";n"; $nuevo .="$sexo = "";n"; $nuevo .="$pais = "$pais";n"; $nuevo .="$edad = "";n"; $nuevo .="$descripcion = "";n"; $nuevo .= "?".">"; $crea = fopen("usuarios/$cnnick.php","w"); fputs($crea,$nuevo); fclose($crea); echo "Has sido registrado con �xito. Haz click <a href=index.php>aqu�</a> para ir a la p�gina principal." ; } } else { ?> <p>Los datos marcados con un asterisco (*) son obligatorios. <script> function revisar() { if(formulario.cnnick.value.length < 3) { alert('El nick debe contener por lo m�nimo 3 caract�res') ; return false ; } if(formulario.cncontrasena.value.length < 5) { alert('La contrase�a debe contener por lo m�nimo 5 caract�res') ; return false ; } if(formulario.cnemail.value.length == 0) { alert('Debes poner un email v�lido') ; return false ; } } </script> <form name="formulario" method="post" action="registrar.php" onsubmit="return revisar()"> <b>* Nick:</b><br> <input name="cnnick" type="text" id="cnnick" maxlength="20"><br> <b>* Contrase�a:</b><br> <input name="cncontrasena" type="password" id="cncontrasena" maxlength="20"><br> <b>* Email:</b><br> <input name="cnemail" type="text" id="cnemail" maxlength="40"><br><br> <input type="submit" name="registrar" value="Registrar"> </form> <? } ?> [/codigo] usuarios.php [codigo] <title>Usuarios</title><body> <?php if (!$u) { // Le damos valor a las variables de configuraci�n $Config['Path'] = "usuarios/"; // Directorio donde stan los archivos a mostrar. $Config['Show'] = 20; // Numero de archivos a mostrar por p�ginas. $Show['20 Anteriores'] = 0; // Por defecto no se mostrara 10 Anteriores $Show['20 Siguientes'] = 0; // Por defecto no se mostrara 10 Siguientes if ($c == "") $c = 0; // Si $c no tiene valor es porque es la primera vez que se visita la p�gina. $dir = @opendir($Config['Path']); // Abrimos el directorio donde estan los archivos $Plus = $c; // Le damos el valor de $c a $plus porque el valor de $c se perdera y lo necessitaremos mas tarde. while ($c > 0 && $elemento = @readdir($dir)) // Mientras la variable $c sea mayor de 0 saltamos archivos. { $Show['20 Anteriores'] = 1; $c--; } $Counter = 0; // Ponemos a 0 el contador // Si es la primera vez que vez a�adimos 2 filas, si no lo es se las quitamos. if ($Show['20 Anteriores'] == 0) $Counter=$Counter-2; else { $c = 2; while ($c > 0 && $elemento = @readdir($dir)) // Mientras la variable $c sea mayor de 0 saltamos archivos. { $Show['20 Anteriores'] = 1; $c--; } } // Mostramos el numero de archivos que se tienen que mostrar por p�gina. while (($Counter != $Config['Show']) && ($elemento = @readdir($dir))) { $Counter++; $elemento1 = strtolower($elemento); if (strpos($elemento1, ".php") > 0 && $elemento != "index.php") { // Asignamos el archivo sin extension $elemento2 = str_replace(".php","",$elemento); // Dia $diassemana = array("Domingo","Lunes","Martes","Mi�rcoles","Jueves","Viernes","S�bado") ; $mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ; $diasemana = date(w,$fecha) ; $diames = date(j,$fecha) ; $mesano = date(n,$fecha) - 1 ; $ano = date(Y,$fecha) ; $fecha = "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ; // Sexo if($sexo == 0) { $sexonumero = "Masculino" ; } else { $sexonumero = "Femenino" ; } // Edad if($edad == 0) { $edad = "" ; } else { $edad = $edad ; } ?> <table width="100%" border="0" cellspacing="0" cellpadding="5" style='border: #757575 1 solid'> <? if(file_exists("usuarios/$elemento2.php")) { require ("usuarios/$elemento2.php"); } ?> <tr bgcolor="#dddddd"> <td><strong>Nick</strong></td> <td><strong>Sexo</strong></td> <td><strong>Pais</strong></td> </tr> <tr> <td><a href="usuarios.php?u=<?php echo $elemento2 ?>"><? echo $elemento2 ?></a></td> <td><? echo $sexonumero ?></td> <td><? echo $pais ?></td> </tr> </table> <div align="right"> <?php } } // Si sobran archivos pondremos el "10 Siguientes" if ($elemento = @readdir($dir)) { $Show['20 Siguientes'] = 1; } //Cerramos el directorio @closedir($dir); ?> <?php // Mostraos si es necessario el "10 Anteriores" y "10 Siguientes". if ($Show['20 Anteriores'] == 1) echo("<a href="index.php?c=".($Plus-$Config['Show'])."&secciones=$secciones">20 Anteriores | </a>"); if ($Show['20 Siguientes'] == 1) echo(" <a href="index.php?c=".($Plus+$Config['Show'])."&secciones=$secciones">20 Siguientes</a></p>"); } ?> </div> <? if ($u) { if(file_exists("usuarios/$u.php")) { require ("usuarios/$u.php"); } // Dia $diassemana = array("Domingo","Lunes","Martes","Mi�rcoles","Jueves","Viernes","S�bado") ; $mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ; $diasemana = date(w,$fecha) ; $diames = date(j,$fecha) ; $mesano = date(n,$fecha) - 1 ; $ano = date(Y,$fecha) ; $fecha = "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ; // Sexo if($sexo == 0) { $sexonumero = "Masculino" ; } else { $sexonumero = "Femenino" ; } // Edad if($edad == 0) { $edad = "" ; } else { $edad = $edad ; } ?> <p><b>Usuario desde el:</b> <? echo $fecha ?> <p> <table width=100% border=0 cellpadding=5 cellspacing=0 style='border: #757575 1 solid'> <tr> <td width="34%"><b>Nick:</b></td> <td width="66%"><? echo $nick ?></td> </tr> <tr> <td><b>Pa�s:</b></td> <td><? echo $pais ?></td> </tr> <tr> <td><b>Edad:</b></td> <td><? echo $edad ?></td> </tr> <tr> <td><b>Sexo:</b></td> <td><? echo $sexonumero ?></td> </tr> <tr> <td><b>Descripci�n:</b></td> <td><? echo $descripcion ?></td> </tr> </table> <p><a href=usuarios.php>Regresar a Usuarios</a> <? } ?> </body> [/codigo] perfil.php [codigo] <? include("login.php") ; ?> <? if($editar) { function quitar($texto) { $texto = trim($texto) ; $texto = htmlspecialchars($texto) ; return $texto ; } $cnnick = quitar($cnnick) ; $url = quitar($url) ; $minibanner = quitar($minibanner) ; $cnpais = quitar($cnpais) ; $cnedad = quitar($cnedad) ; $cndescripcion = quitar($cndescripcion) ; $cnnick = $nick ; $cnfecha = time() ; $cnip = $REMOTE_ADDR ; if($cncontrasena == "") { $cncontrasena = $contrasena ; } if($cncontrasena != "") { $cncontrasena = md5($cncontrasena); } $cnemail = $email ; $edita .= "<"."?n"; $edita .="$nick = "$cnnick";n"; $edita .="$contrasena = "$cncontrasena";n"; $edita .="$email = "$cnemail";n"; $edita .="$fecha = "$cnfecha";n"; $edita .="$ip = "$cnip";n"; $edita .="$sexo = "$cnsexo";n"; $edita .="$pais = "$cnpais";n"; $edita .="$edad = "$cnedad";n"; $edita .="$descripcion = "$cndescripcion";n"; $edita .= "?".">"; $edit = fopen("usuarios/$cnnick.php","w"); fputs($edit,$edita); fclose($edit); echo "Tus datos han sido editados con �xito. Haz click <a href=index.php>aqu�</a> para regresar a la p�gina principal.<br><br>" ; } // Si no se pone la edad esta se guarda como cero, para evitar mostrar el cero se hace lo siguiente if($edad == 0) { $edad = "" ; } // El sexo se guarda como 0 y 1 que es masculino y femenino respectivamente, si se elige femenino la opci�n debe aparecer seleccionada // aparecer seleccionada if($sexo == 1) { $sexo = " selected" ; } // Mostrar la fecha en texto $diassemana = array("Domingo","Lunes","Martes","Mi�rcoles","Jueves","Viernes","S�bado") ; $mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ; $diasemana = date(w,$fecha) ; $diames = date(j,$fecha) ; $mesano = date(n,$fecha) - 1 ; $ano = date(Y,$fecha) ; $fecha = "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ; ?> <p class="titulo">Perfil <p><b>Usuario desde el:</b> <? echo $fecha ?> <p>En esta secci�n puedes editar tus datos de registro. Los campos con un asterisco (*) son obligatorios. <script> function revisar() { if(formulario.cncontrasena.value.length < 5) { alert('La contrase�a debe contener por lo m�nimo 5 caract�res.') ; return false ; } if(formulario.cnemail.value.length == 0) { alert('Debes poner un email v�lido.') ; return false ; } if(formulario.cndescripcion.value.length > 255) { alert('La descripci�n supera los 255 caract�res.') ; return false ; } } </script> <form name="formulario" method="post" action="perfil.php" onsubmit="return revisar()"> <b>* Nick:</b><br> <input type="text" name="cnnick" value="<? echo $nick ?>" class="form" style="color: #757575" readonly><br> <b>* Contrase�a:</b><br> <input type="password" name="cncontrasena" maxlength="20" class="form"><br> <b>* Email:</b><br> <input type="text" name="cnemail" maxlength="40" value="<? echo $email ?>" class="form"><br> <b>Pa�s:</b><br> <input type="text" name="cnpais" maxlength="20" value="<? echo $pais ?>" class="form"><br> <b>Edad:</b><br> <input type="text" name="cnedad" maxlength="2" size="3" value="<? echo $edad ?>" class="form"><br> <b>Sexo:</b><br> <select name="cnsexo" class="form"> <option value="0">Masculino <option value="1"<? echo $sexo ?>>Femenino </select><br> <b>Descripci�n:</b><br> <textarea name="cndescripcion" cols="30" rows="5" class="form"><? echo $descripcion ?></textarea><br><br> <input type="submit" name="editar" value="Editar" class="form"> </form> [/codigo] Instalacion : El registro de usuarios creara las carpetas y datos de forma automatica. si no es asin se debera proceder a dar chmod 777 a la carpeta donde se encuentra el script y se deberan crear las siguientes carpetas dentro del susodicho directorio : usuarios/ mensajes/ noticias/ enlaces/ descargas/ Registro de usuarios realizado por phpmysql basandose en registros de usuarios con mysql. detro de los dos zip recomiento registrousuarios.zip ya que es el mas sencillo de configurar e instalar el otro usuarios.zip es para personalizarlo y solo para usuarios avanzados Pueden ver un ejemplo en la url, asi como ver posibles novedades: [url]http://usuarios.lycos.es/registrousuarios/[/url]